package artifactory

import (
	"time"
)

type TArtifactSnapshot struct {
	Id          int64     `xorm:"pk autoincr comment('自增ID') BIGINT(20)" json:"id"`
	PackageId   int64     `xorm:"not null comment('制品包ID') BIGINT(20)" json:"packageId"`
	DisplayName string    `xorm:"default '' comment('版本版本名称') VARCHAR(255)" json:"displayName"`
	Version     string    `xorm:"comment('版本号') VARCHAR(255)" json:"version"`
	Sha         string    `xorm:"comment('版本SHA值') VARCHAR(100)" json:"sha"`
	Description string    `xorm:"comment('版本内容描述，可取自Commit Message') VARCHAR(255)" json:"description"`
	CreateTime  time.Time `xorm:"not null comment('创建时间') DATETIME" json:"createTime"`
	UpdateTime  time.Time `xorm:"comment('更新时间') DATETIME" json:"updateTime"`
	DeleteTime  time.Time `xorm:"comment('软删除字段') DATETIME" json:"deleteTime"`
	Source      string    `xorm:"not null default 'pipeline' comment('创建来源(pipeline/api/web)') VARCHAR(32)" json:"source"`
	SourceId    string    `xorm:"comment('来源为流水线时，关联对应构建ID。来源为API和WEB时为空') VARCHAR(64)" json:"sourceId"`
	LicenseId   int64     `xorm:"not null comment('对应版本的许可证(外联ID)') BIGINT(20)" json:"licenseId"`
	Site        int64     `xorm:"not null default 0 comment('版本占用存储大小') BIGINT(20)" json:"site"`
	Prerelease  int       `xorm:"not null default 0 comment('是否为预发布版本') TINYINT(1)" json:"prerelease"`
	Deleted     int       `xorm:"default 0 TINYINT(1)" json:"deleted"`
}
